import axios from 'axios'
import { useUserStore } from '@/stores'
import {Toast} from 'vant'
import router from '@/router'
import 'vant/es/toast/style';
const baseURL = 'https://consult-api.itheima.net/'
const request = axios.create({
  baseURL,
  timeout:10000
})
// 基础配置
const store = useUserStore()
// 添加请求拦截器
request.interceptors.request.use(function (config) {
// 携带token
  if (store.userData?.token && config.headers) {
    config.headers.Authorization=`Bearer ${store.userData?.token}`
  }
  return config;
}, function (error) {
  return Promise.reject(error);
});

// 添加响应拦截器
request.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 响应成功,返回无效数据
  if (response.data.code !== 10000) {
    Toast(response.data?.message)
    return Promise.reject(response.data)
  }
  // 响应成功,且正确返回数据
  return response.data;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  if (error.response.status === 401) {
    // 删除token
    store.deluserData()
    //router.currentRoute.value.fullPath当前访问页面的地址  用户重新登录后跳转到原页面
    // path不带参数 fullPath带参数
    router.push(`/login?returnUrl=${router.currentRoute.value.fullPath}`)
  }
  return Promise.reject(error);
});

export {request,baseURL}